Ako zistit externu IP ak som za NAT

Otázka od: martin

9. 6. 2004 15:36

Jak na to?
V phpcku je to $_SERVER['REMOTE_ADDR'];
V tom pripade asi skriptu "pomaha" www server.

--
Martin



Odpovedá: Lukas Gebauer

10. 6. 2004 15:40

> Jak na to?
> V phpcku je to $_SERVER['REMOTE_ADDR'];
> V tom pripade asi skriptu "pomaha" www server.

nerozumim... v PHPcku tohle ma adresu toho, kdo se dozaduje neceho na
tvem WWW servru. Jak to souvisi s tvy NATem?

Pokud k tobe leze nekdo pres NAT, pak nevidis jeho interni adresu,
ale prave adresu toho NATu.(jako na tom serveru).

Pokud jsi ale za tim NATem skryty ty a chces zjistit, s jakou adresou
jsi videt na internetu, tak to od sebe nezjistis! Leda ze by tvuj NAT
poskytoval nejakou sofistikovanou spravu treba pres SNMP protokol,
nebo tak neco. V opacnem pripade to zjistit jen tak, ze se spojis s
nejakou sluzbou na internetu, ktera ti pocvi z jake adresu tvuj
pozadavek prisel.


--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.


Odpovedá: martin

10. 6. 2004 18:21

>> V phpcku je to $_SERVER['REMOTE_ADDR'];
LG> Pokud jsi ale za tim NATem skryty ty a chces zjistit, s jakou adresou
LG> jsi videt na internetu, tak to od sebe nezjistis! Leda ze by tvuj NAT
LG> poskytoval nejakou sofistikovanou spravu treba pres SNMP protokol,
LG> nebo tak neco. V opacnem pripade to zjistit jen tak, ze se spojis s
LG> nejakou sluzbou na internetu, ktera ti pocvi z jake adresu tvuj
LG> pozadavek prisel.

Presne o to mi ide ....
Pracujem na aplikacii, kde bude pouzity vzdialeny pristup.
Samozrejme klient je schovany za firewalom (cize je tam aj NAT).
Druha strana takisto.
Samozrejme obidvaja maju DSL a dynamicku IP.
Nakolko potrebujem spojenie 1:1 musi ta aplikacia zistit IPcku ktora
je vidiet z Internetu...
Pomohol som si cez http://ip.discoveryvip.com/

.... ja len som chcel vediet ci "ta carovna sluzba" nie je nahodou
sucastou Indy alebo synapse - resp. nejaka finta
ako to zistit bez pomoci tretej strany.
Uvaha // nejaky ala ping ktory "cestou spat" vrati aj moju Internetovu
IP.

Martin


Odpovedá: Lukas Gebauer

10. 6. 2004 18:31

> Presne o to mi ide ....
> Pracujem na aplikacii, kde bude pouzity vzdialeny pristup.
> Samozrejme klient je schovany za firewalom (cize je tam aj NAT).
> Druha strana takisto.
> Samozrejme obidvaja maju DSL a dynamicku IP.
> Nakolko potrebujem spojenie 1:1 musi ta aplikacia zistit IPcku ktora
> je vidiet z Internetu... Pomohol som si cez
> http://ip.discoveryvip.com/

Nejak stale nechapu... kdyz jsou oba za NATem, tak je 1:1 spojit
nelze. konkretni prichozi spojeni jdou v konfiguraci NATu explicitne
nasmerovat na nejaky konkretni pocitac. Ale to je tak vsechno... ze
by ses pres NAT z venku dokopal na nejaky libovolny pocitac, to
proste nejde, i kdyz budes vedet externi IP adresu NATu.



--
Lukas Gebauer.

E-mail: gebauerl@mlp.cz
http://www.ararat.cz/synapse/ - Ararat Synapse - TCP/IP Lib.


Odpovedá: konference@sales.cz

10. 6. 2004 19:22

 On Behalf Of martin
> .... ja len som chcel vediet ci "ta carovna sluzba" nie je
> nahodou sucastou Indy alebo synapse - resp. nejaka finta ako
> to zistit bez pomoci tretej strany. Uvaha // nejaky ala ping
> ktory "cestou spat" vrati aj moju Internetovu IP.

Ahoj.
Bez serveru "treti" strany se neobejdes.
Zaloz si na nejakem free serveru podporujicim PHP (treba www.kgb.cz)
ucet a dej si tam PHP script :
=======ipreturn.php=================
<?
Header("Content-Type: text/plain");
echo $REMOTE_ADDR;
echo "\n";
?>
================================
Nebo pouzij tenhle : http://www.sales.cz/tools/ipreturn.php

Vraci to textovy soubor s IP adresou. Nactes to bez problemu pomoci
synapse.
Ovsem da Ti to samozrejme adresu te strany ze ktere volas, takze nejak
to budes muset dopravit te druhe strane  
Takze asi nezbyde nez si na tom "zprostredkovateli" zalozit databazi a v
nejakych intervalech tam updatovat vety typu
"STANICE A","193.84.56.87"
"STANICE B","81.35.56.100"
A podle toho se konektit.
Muzes jit primo do mySQL (ale to na freewebech myslim maji zamaznute)
nebo rozsirit ten script o to, ze ti vrati vice radku nebo primo ini
podle parametru a zaroven aktualizuje tvoji adresu v databazi. Neco jako
:
=======connect_point.php=================
<?
Header("Content-Type: text/plain");
if (!isset($myName))||(!isset($getIP))
 { echo "Error\n" /* bez parametru*/}
Else
 {
  /* zapsat/updatovat $myName,$REMOTE_ADDR */
  /* precist adresu protejsku select $remoteIP=IP from table where
name=$getIP*/
  /* a vratit */

  echo "[connect_point]\n"
  echo "myIP=$REMOTE_ADDR\n";
  echo "remoteIP=$remoteIP\n";
  }
?>
================================
Script bys pak volal
http://www.nekde.cz/connect_point.php?myName=MojeStanice&getIP=VzdalenaS
tanice



Ludek


Odpovedá: martin

10. 6. 2004 20:01

Povodna sprava zo dna : 10. 6. 2004, od <gebylist@mlp.cz> :
>> Presne o to mi ide ....
>> Pracujem na aplikacii, kde bude pouzity vzdialeny pristup.
>> Samozrejme klient je schovany za firewalom (cize je tam aj NAT).
>> Druha strana takisto.
>> Samozrejme obidvaja maju DSL a dynamicku IP.
>> Nakolko potrebujem spojenie 1:1 musi ta aplikacia zistit IPcku ktora
>> je vidiet z Internetu... Pomohol som si cez
>> http://ip.discoveryvip.com/

> Nejak stale nechapu... kdyz jsou oba za NATem, tak je 1:1 spojit
> nelze. konkretni prichozi spojeni jdou v konfiguraci NATu explicitne
> nasmerovat na nejaky konkretni pocitac. Ale to je tak vsechno... ze
> by ses pres NAT z venku dokopal na nejaky libovolny pocitac, to
> proste nejde, i kdyz budes vedet externi IP adresu NATu.

Samozrejme s "port forwarding" ....ok, dik

Chcel som vediet, ci na to neexistuje priamu funkcia v synapse resp.indy.

M.


Odpovedá: martin

10. 6. 2004 20:07

> Bez serveru "treti" strany se neobejdes.
uff, dik za tip
este som nasiel:
http://www.dyndns.org/
http://www.no-ip.com/

idem skusit napisat nejaku funkciu ktora mi vrati IP
len stale mrznem na bode, ako by si mali tie dve stanice tu IPcku
"vymenit"...bez pomoci "tretej" strany
Mate niekto este nejaky napad?

M.



















                                    y


Odpovedá: Pavol Stugel, NETGraphics

11. 6. 2004 6:41

> Jak na to?
posles si mail, a v hlavicke mas IPcku natka ... ;)


Odpovedá: Vaclav Halik

11. 6. 2004 9:07

Nevim jestli to pomuze a sem prsne pochopil o co ti jde, ale asi takto:

Situace pevne IP -> pevne IP - tady je to jasne, no problem

Situace pevne IP -> IP za NATem - technicky jde zjistit IP stanice za natem.
Tedy dostanes neco jako 212:25:25:57:168.10.10.57 kde
prvni je IP Routru s NATem a druhe je lokalni IP za natem.
V paketu protokolu IP se totiz uklada informace o cele ceste paketu pres
NATove routry. Tak ze NAT vezme paket od lokalni stanice, podepise
jej jako svuj (tedy pod jeho IP), ale pribali informaci od koho to dostal.
Pak kdyz se vrati odpoved sam paket nese informaci komu patri v lokalni
siti.

Tedy spojeni je mozne, ale musim vedet lokalni IP.

Situace IP za NATem -> IP za NATem - tady mevim, ale domnivam se
ze to realne naprimo nepude, Nebot bych se odkazoval na lokalni IP ve
vzdaleni siti, coz bude kolidovat s lokalnim rozsahem v me siti.

Ale mozna to tak neni, budu rad kdyz nekdo zasvedceny pripoji nazor.

Vaclav Halik



> > Bez serveru "treti" strany se neobejdes.
> uff, dik za tip
> este som nasiel:
> http://www.dyndns.org/
> http://www.no-ip.com/
>
> idem skusit napisat nejaku funkciu ktora mi vrati IP
> len stale mrznem na bode, ako by si mali tie dve stanice tu IPcku
> "vymenit"...bez pomoci "tretej" strany
> Mate niekto este nejaky napad?


Odpovedá: Nagy Dusan

11. 6. 2004 11:02

Dobry den,
10. juna 2004, 19:13:04, napsal jste:

>>> V phpcku je to $_SERVER['REMOTE_ADDR'];
LG>> Pokud jsi ale za tim NATem skryty ty a chces zjistit, s jakou adresou
LG>> jsi videt na internetu, tak to od sebe nezjistis! Leda ze by tvuj NAT
LG>> poskytoval nejakou sofistikovanou spravu treba pres SNMP protokol,
LG>> nebo tak neco. V opacnem pripade to zjistit jen tak, ze se spojis s
LG>> nejakou sluzbou na internetu, ktera ti pocvi z jake adresu tvuj
LG>> pozadavek prisel.

m> Presne o to mi ide ....
m> Pracujem na aplikacii, kde bude pouzity vzdialeny pristup.
m> Samozrejme klient je schovany za firewalom (cize je tam aj NAT).
m> Druha strana takisto.
m> Samozrejme obidvaja maju DSL a dynamicku IP.
m> Nakolko potrebujem spojenie 1:1 musi ta aplikacia zistit IPcku ktora
m> je vidiet z Internetu...
m> Pomohol som si cez http://ip.discoveryvip.com/

m> .... ja len som chcel vediet ci "ta carovna sluzba" nie je nahodou
m> sucastou Indy alebo synapse - resp. nejaka finta
m> ako to zistit bez pomoci tretej strany.
m> Uvaha // nejaky ala ping ktory "cestou spat" vrati aj moju Internetovu
m> IP.

m> Martin


ak so dobre pochopil tak chces z internetu pristupovat do siete ktorej
vstupny bod je za nat. Tebe staci adresa sevara viditelneho z
internetu. Kedze nat nevie impilicitne inicializovat spojenie ktore
zacina z internetu. On inicializuje iba spojenia z lokalnej siete von
a samozrejme potom vie i predavat odpovede tomu klientovi ktory
spojenie inicializoval.(vytvara sa tabulka spojeni)

Opacne spojenie ide spravit ale az po prislusnej konfiguracii nat.t.j.

Nastavis port na nat serveri a povies mu ze vsetky pozidavky bude
smerovat na nejaky stroj v local sieti.

takze komunikacie pre teba je transparentna tvoje IP a Ip vonkajsie IP
nat servera.



--
S pozdravem,
 Nagy
 dnagy@inomacomp.sk


Odpovedá: Martin Pokorny

22. 6. 2004 13:37

Pavol Stugel, NETGraphics napsal(a):

>>Jak na to?
>>
>>
>posles si mail, a v hlavicke mas IPcku natka ... ;)
>
>
To je nesmysl!